﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum КодыОперацийБракВПроизводстве
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"676ae86d-9de3-482b-a452-de1043a4e070\", \"Представление\":\"СписаниеПартийВПроизводствоОперативно\"}")]
		СписаниеПартийВПроизводствоОперативно = 0,//Списание партий в производство оперативно
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cfceeaa8-e94d-44c9-8113-7d36db012575\", \"Представление\":\"ПрочиеПостоянныеЗатраты\"}")]
		ПрочиеПостоянныеЗатраты = 1,//Прочие постоянные затраты
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"54712ca8-b7f7-4c91-886b-97aa9fe7caf6\", \"Представление\":\"ВнутренниеУслугиНаПостоянныеЗатраты\"}")]
		ВнутренниеУслугиНаПостоянныеЗатраты = 2,//Внутренние услуги на постоянные затраты
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cad44b67-6bcb-4cd8-b539-562c92f63b2c\", \"Представление\":\"УслугиКонтрагентаНаПостоянныеЗатраты\"}")]
		УслугиКонтрагентаНаПостоянныеЗатраты = 3,//Услуги контрагента на постоянные затраты
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"c28a6c16-ebcf-443d-8002-24ae0e4a3a3d\", \"Представление\":\"СписаниеБракВПроизводстве_Регламент\"}")]
		СписаниеБракВПроизводстве_Регламент = 4,//Списание затрат по браку в пр-ве (28-й счет) (регламент.)
	}
	public static partial class КодыОперацийБракВПроизводстве_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеПартийВПроизводствоОперативно = new Guid("10de52a4-a443-70e0-482b-9de3676ae86d");//Списание партий в производство оперативно
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПрочиеПостоянныеЗатраты = new Guid("367d1381-01db-7525-44c9-e94dcfceeaa8");//Прочие постоянные затраты
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВнутренниеУслугиНаПостоянныеЗатраты = new Guid("aa976b88-e79f-f6ca-4c91-b7f754712ca8");//Внутренние услуги на постоянные затраты
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid УслугиКонтрагентаНаПостоянныеЗатраты = new Guid("2c5639b5-f692-2c3b-4cd8-6bcbcad44b67");//Услуги контрагента на постоянные затраты
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеБракВПроизводстве_Регламент = new Guid("ae240280-4a0e-3d3a-443d-ebcfc28a6c16");//Списание затрат по браку в пр-ве (28-й счет) (регламент.)
		public static КодыОперацийБракВПроизводстве Получить(this КодыОперацийБракВПроизводстве Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КодыОперацийБракВПроизводстве Получить(this КодыОперацийБракВПроизводстве Значение, Guid Ссылка)
		{
			if(Ссылка == СписаниеПартийВПроизводствоОперативно)
			{
				return КодыОперацийБракВПроизводстве.СписаниеПартийВПроизводствоОперативно;
			}
			else if(Ссылка == ПрочиеПостоянныеЗатраты)
			{
				return КодыОперацийБракВПроизводстве.ПрочиеПостоянныеЗатраты;
			}
			else if(Ссылка == ВнутренниеУслугиНаПостоянныеЗатраты)
			{
				return КодыОперацийБракВПроизводстве.ВнутренниеУслугиНаПостоянныеЗатраты;
			}
			else if(Ссылка == УслугиКонтрагентаНаПостоянныеЗатраты)
			{
				return КодыОперацийБракВПроизводстве.УслугиКонтрагентаНаПостоянныеЗатраты;
			}
			else if(Ссылка == СписаниеБракВПроизводстве_Регламент)
			{
				return КодыОперацийБракВПроизводстве.СписаниеБракВПроизводстве_Регламент;
			}
			return КодыОперацийБракВПроизводстве.ПустаяСсылка;
		}
		public static byte[] Ключ(this КодыОперацийБракВПроизводстве Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КодыОперацийБракВПроизводстве Значение)
		{
			switch (Значение)
			{
				case КодыОперацийБракВПроизводстве.СписаниеПартийВПроизводствоОперативно: return СписаниеПартийВПроизводствоОперативно;
				case КодыОперацийБракВПроизводстве.ПрочиеПостоянныеЗатраты: return ПрочиеПостоянныеЗатраты;
				case КодыОперацийБракВПроизводстве.ВнутренниеУслугиНаПостоянныеЗатраты: return ВнутренниеУслугиНаПостоянныеЗатраты;
				case КодыОперацийБракВПроизводстве.УслугиКонтрагентаНаПостоянныеЗатраты: return УслугиКонтрагентаНаПостоянныеЗатраты;
				case КодыОперацийБракВПроизводстве.СписаниеБракВПроизводстве_Регламент: return СписаниеБракВПроизводстве_Регламент;
			}
			return Guid.Empty;
		}
	}
}